//index.js
var util = require('../../utils/util.js');
var api = require('../../config/api.js');
var user = require('../../utils/user.js');
var app = getApp()
var hostURL = app.globalData1.hostURL;
var hasLogin = app.globalData2.hasLogin;
Page({
   data: {
      cartlist: [],
      goodsList: {
         saveHidden: true,
         totalPrice: 0,
         totalScoreToPay: 0,
         allSelect: true,
         noSelect: false,
         list: [],
          //cartlist: [],         //hasLogin:false
         ImageURL1: '',
      },  
         hasLogin:false,
      delBtnWidth: 120,    //删除按钮宽度单位（rpx）
      // isEditCart: false,
      // checkedAllStatus: true,
      // editCartList: [], 
   },
 //左滑删除效果
 //获取元素自适应后的实际宽度
  getEleWidth:function(w){
    var real = 0;
    try {
      var res = wx.getSystemInfoSync().windowWidth;
      var scale = (750/2)/(w/2);  //以宽度750px设计稿做宽度的自适应
      // console.log(scale);
      real = Math.floor(res/scale);
      return real;
    } catch (e) {
      return false;
     // Do something when catch error
    }
  }, 
  initEleWidth:function(){
    var delBtnWidth = this.getEleWidth(this.data.delBtnWidth);
    this.setData({
      delBtnWidth:delBtnWidth
    });
  },
  onLoad: function () {
   //   this.setData({
   //      ImageURL:app.globalData1.ImageURL
   //   })
   //   console.log(this.data.ImageURL)
     this.initEleWidth();
   //   this.onShow();
     // 页面显示
     if (app.globalData2.hasLogin) {
        console.log("当前登录状态" + app.globalData2.hasLogin)
        this.getCartList();
     }
     this.setData({
        hasLogin: app.globalData2.hasLogin
     });
  },
//   onShow: function(){
   
//   },
  

  getCartList: function () {
    let that = this;
    console.log("准备请求后台购物车数据")
  wx.request({
     //url: 'http://192.168.43.254:8090/sharedplatform-web/cart/showCart.action',
     url: hostURL +'sharedplatform-web/cart/showCart.action',
    data: {
      userId: app.globalData2.userid,
    },
    method: 'GET',
    header: { 'Accept': 'application/json' },
    success: function (res) {
        var errno=res.data.errno
      if (errno == 0) {
         that.setData({
           cartlist: res.data.cartList,
          // cartTotal: res.data.cartTotal
        });
      //    wx.setStorageSync("cartList", cartlist)
      //   console.log("cartlist: " )
        console.log(that.data.cartlist)
        wx.setStorage({
           key: 'cartList',
           data: that.data.cartlist
        })
      //   var shopList = []
        // 获取购物车数据
      
        //var shopCarInfoMem = wx.getStorageSync('list');
        //   var list = that.data.list
        //   console.log(that.data.list)
      //   console.log("shopList: " +that.data.shopList)
        
      //   console.log("list: "+that.data.goodsList.list)
       
        var shopList = [];
        shopList = that.data.cartlist
        
      //   this.data.goodsList.list = shopList;
        //
   
         that.data.goodsList.list = shopList;
      //   var  shopCarInfoMem=that.data.cartlist
      //   if (shopCarInfoMem && shopCarInfoMem.shopList) {
      //      shopList = shopCarInfoMem.shopList
      //   }
      //   this.data.goodsList.list = shopList;
         that.setGoodsList(that.getSaveHide(), that.totalPrice(), that.allSelect(), that.noSelect(), that.data.cartlist, shopList);
        
        }   
    },
    fail:function(){
      console.log("请求失败")
    },
  });
  },
    
 
  toIndexPage:function(){
      wx.switchTab({
            url: "/pages/index/index"
      });
  },
  touchS:function(e){
    if(e.touches.length==1){
      this.setData({
        startX:e.touches[0].clientX
      });
    }
  },
  touchM:function(e){
  var index = e.currentTarget.dataset.index;

    if(e.touches.length==1){
      var moveX = e.touches[0].clientX;
      var disX = this.data.startX - moveX;
      var delBtnWidth = this.data.delBtnWidth;
      var left = "";
      if(disX == 0 || disX < 0){//如果移动距离小于等于0，container位置不变
        left = "margin-left:0px";
      }else if(disX > 0 ){//移动距离大于0，container left值等于手指移动距离
        left = "margin-left:-"+disX+"px";
        if(disX>=delBtnWidth){
          left = "left:-"+delBtnWidth+"px";
        }
      }
      var list = this.data.goodsList.list;
      if(index!="" && index !=null){
        list[parseInt(index)].left = left; 
        this.setGoodsList(this.getSaveHide(),this.totalPrice(),this.allSelect(),this.noSelect(),list);
      }
    }
  },

  touchE:function(e){
    var index = e.currentTarget.dataset.index;    
    if(e.changedTouches.length==1){
      var endX = e.changedTouches[0].clientX;
      var disX = this.data.startX - endX;
      var delBtnWidth = this.data.delBtnWidth;
      //如果距离小于删除按钮的1/2，不显示删除按钮
      var left = disX > delBtnWidth/2 ? "margin-left:-"+delBtnWidth+"px":"margin-left:0px";
      var list = this.data.goodsList.list;
     if(index!=="" && index != null){
        list[parseInt(index)].left = left; 
        this.setGoodsList(this.getSaveHide(),this.totalPrice(),this.allSelect(),this.noSelect(),list);

      }
    }
  },
  delItem:function(e){
    var index = e.currentTarget.dataset.index;
    var list = this.data.goodsList.list;
    list.splice(index,1);
    this.setGoodsList(this.getSaveHide(),this.totalPrice(),this.allSelect(),this.noSelect(),list);
  },
  selectTap:function(e){
    var index = e.currentTarget.dataset.index;
    var list = this.data.goodsList.list;
    if(index!=="" && index != null){
        list[parseInt(index)].active = !list[parseInt(index)].active ; 
        this.setGoodsList(this.getSaveHide(),this.totalPrice(),this.allSelect(),this.noSelect(),list);
      }
   },
  totalPrice: function () {
     var list = this.data.goodsList.list;
     console.log("totalPrice:");
     console.log(list);
     var total = 0;
     let totalScoreToPay = 0;
     for (var i = 0; i < list.length; i++) {
        var curItem = list[i];
        if (curItem.active) {
           total += parseFloat(curItem.sourcePrice) * curItem.sourceCount;
           //totalScoreToPay += curItem.score * curItem.number;
        }
     }
     //this.data.goodsList.totalScoreToPay = totalScoreToPay;
     total = parseFloat(total.toFixed(2));//js浮点计算bug，取两位小数精度
     return total;
  },
   allSelect:function(){
      var list = this.data.goodsList.list;
      var allSelect = false;
      for(var i = 0 ; i < list.length ; i++){
          var curItem = list[i];
          if(curItem.active){
            allSelect = true;
          }else{
             allSelect = false;
             break;
          }
      }
      return allSelect;
   },
   noSelect:function(){
      var list = this.data.goodsList.list;
      var noSelect = 0;
      for(var i = 0 ; i < list.length ; i++){
          var curItem = list[i];
          if(!curItem.active){
            noSelect++;
          }
      }
      if(noSelect == list.length){
         return true;
      }else{
        return false;
      }
   },
   setGoodsList:function(saveHidden,total,allSelect,noSelect,list){
     this.setData({
        goodsList:{
          saveHidden:saveHidden,
          totalPrice:total,
          allSelect:allSelect,
          noSelect:noSelect,
          list:list,
          totalScoreToPay: this.data.goodsList.totalScoreToPay
        }
      });
      var shopCarInfo = {};
      var tempNumber = 0;
      shopCarInfo.shopList = list;
      for(var i = 0;i<list.length;i++){
        tempNumber = tempNumber + list[i].number
      }
      shopCarInfo.shopNum = tempNumber;
      wx.setStorage({
        key:"shopCarInfo",
        data:shopCarInfo
      })
   },
   bindAllSelect:function(){
      var currentAllSelect = this.data.goodsList.allSelect;
      var list = this.data.goodsList.list;
      if(currentAllSelect){
        for(var i = 0 ; i < list.length ; i++){
            var curItem = list[i];
            curItem.active = false;
        }
      }else{
        for(var i = 0 ; i < list.length ; i++){
            var curItem = list[i];
            curItem.active = true;
        }
      }
     
      this.setGoodsList(this.getSaveHide(),this.totalPrice(),!currentAllSelect,this.noSelect(),list);
   },
   jiaBtnTap:function(e){
    var index = e.currentTarget.dataset.index;
    var list = this.data.goodsList.list;
    if(index!=="" && index != null){
       if (list[parseInt(index)].sourceCount<10){
          list[parseInt(index)].sourceCount++; 
        this.setGoodsList(this.getSaveHide(),this.totalPrice(),this.allSelect(),this.noSelect(),list);
      }
    }
   },
   jianBtnTap:function(e){
    var index = e.currentTarget.dataset.index;
    var list = this.data.goodsList.list;
    if(index!=="" && index != null){
       if (list[parseInt(index)].sourceCount>1){
          list[parseInt(index)].sourceCount-- ;
        this.setGoodsList(this.getSaveHide(),this.totalPrice(),this.allSelect(),this.noSelect(),list);
      }
    }
   },
   editTap:function(){
     var list = this.data.goodsList.list;
     for(var i = 0 ; i < list.length ; i++){
            var curItem = list[i];
            curItem.active = false;
     }
     this.setGoodsList(!this.getSaveHide(),this.totalPrice(),this.allSelect(),this.noSelect(),list);
   },
   saveTap:function(){
     var list = this.data.goodsList.list;
     for(var i = 0 ; i < list.length ; i++){
            var curItem = list[i];
            curItem.active = true;
     }
     this.setGoodsList(!this.getSaveHide(),this.totalPrice(),this.allSelect(),this.noSelect(),list);
   },
   getSaveHide:function(){
     var saveHidden = this.data.goodsList.saveHidden;
     return saveHidden;
   },
   deleteSelected:function(){
      var list = this.data.goodsList.list;
      var cartId = list[0].cartId
      console.log('deleteSelected:')
      console.log(cartId)
      //把订单cartId数据传到后台
      wx.request({
          //url: 'http://:8090/sharedplatform-web/cart/removeSourceOne.action',
         url: hostURL + 'sharedplatform-web/cart/removeSourceOne.action',
         data: {
            cartId: cartId  
         },
         method: 'get',
         header: { 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8' },
         success: function (res) {
            var errno = res.data.errno
            if (errno == 0) {
               console.log("订单cartId传值成功")
               wx.showToast({
                  title: '删除成功',
                  icon: 'success',
                  duration: 2000
               })
            } 
         }
      })

     list = list.filter(function(curGoods) {
        return !curGoods.active;
     });
     this.setGoodsList(this.getSaveHide(),this.totalPrice(),this.allSelect(),this.noSelect(),list);
    },


  
    toPayOrder:function(){
          wx.hideLoading();
      wx.navigateTo({
         url:"/pages/to-pay-order/index?orderType=cartBuy"
      })
    }
   //    wx.showLoading();
   //    var that = this;
   //    if (this.data.goodsList.noSelect) {
   //      wx.hideLoading();
   //      return;
   //    }
   //    // 重新计算价格，判断库存
   //    var shopList = [];
   //    var shopCarInfoMem = wx.getStorageSync('shopCarInfo');
   //    if (shopCarInfoMem && shopCarInfoMem.shopList) {
   //      // shopList = shopCarInfoMem.shopList
   //      shopList = shopCarInfoMem.shopList.filter(entity => {
   //        return entity.active;
   //      });
   //    }
   //    if (shopList.length == 0) {
   //      wx.hideLoading();
   //      return;
   //    }
   //    var isFail = false;
   //    var doneNumber = 0;
   //    var needDoneNUmber = shopList.length;
   //    for (let i =0; i < shopList.length; i++) {
   //      if (isFail) {
   //        wx.hideLoading();
   //        return;
   //      }
   //      let carShopBean = shopList[i];
   //      // 获取价格和库存
   //      if (!carShopBean.propertyChildIds || carShopBean.propertyChildIds == "") {
   //        wx.request({
   //           url: hostURL + 'sharedplatform-web/sourceDetail/findDetailById.action',
   //          data: {
               
   //            id: carShopBean.goodsId
   //          },
   //          success: function(res) {
   //            doneNumber++;
   //            if (res.data.data.properties) {
   //              wx.showModal({
   //                title: '提示',
   //                content: res.data.data.basicInfo.name + ' 商品已失效，请重新购买',
   //                showCancel:false
   //              })
   //              isFail = true;
   //              wx.hideLoading();
   //              return;
   //            }
   //            if (res.data.data.basicInfo.stores < carShopBean.number) {
   //              wx.showModal({
   //                title: '提示',
   //                content: res.data.data.basicInfo.name + ' 库存不足，请重新购买',
   //                showCancel:false
   //              })
   //              isFail = true;
   //              wx.hideLoading();
   //              return;
   //            }
   //            if (res.data.data.basicInfo.minPrice != carShopBean.price) {
   //              wx.showModal({
   //                title: '提示',
   //                content: res.data.data.basicInfo.name + ' 价格有调整，请重新购买',
   //                showCancel:false
   //              })
   //              isFail = true;
   //              wx.hideLoading();
   //              return;
   //            }
   //            if (needDoneNUmber == doneNumber) {
   //              that.navigateToPayOrder();
   //            }
   //          }
   //        })
   //       } 
   //    //else {
   //    //     wx.request({
   //    //       url: 'https://api.it120.cc/'+ app.globalData.subDomain +'/shop/goods/price',
   //    //       data: {
   //    //         goodsId: carShopBean.goodsId,
   //    //         propertyChildIds:carShopBean.propertyChildIds
   //    //       },
   //    //       success: function(res) {
   //    //         doneNumber++;
   //    //         if (res.data.data.stores < carShopBean.number) {
   //    //           wx.showModal({
   //    //             title: '提示',
   //    //             content: carShopBean.name + ' 库存不足，请重新购买',
   //    //             showCancel:false
   //    //           })
   //    //           isFail = true;
   //    //           wx.hideLoading();
   //    //           return;
   //    //         }
   //    //         if (res.data.data.price != carShopBean.price) {
   //    //           wx.showModal({
   //    //             title: '提示',
   //    //             content: carShopBean.name + ' 价格有调整，请重新购买',
   //    //             showCancel:false
   //    //           })
   //    //           isFail = true;
   //    //           wx.hideLoading();
   //    //           return;
   //    //         }
   //    //         if (needDoneNUmber == doneNumber) {
   //    //           that.navigateToPayOrder();
   //    //         }
   //    //       }
   //    //     })
   //    //   }
        
   //    }
   //  },
   //  navigateToPayOrder:function () {
   //    wx.hideLoading();
   //    wx.navigateTo({
   //      url:"/pages/to-pay-order/index"
   //    })
   //  }

})
